<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::LineIterator类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_line_iterator.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="classpcl_1_1_line_iterator-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::LineIterator类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>Organized Index Iterator for iterating over the "pixels" for a given line using the Bresenham algorithm. Supports 4 and 8 neighborhood connectivity  
 <a href="classpcl_1_1_line_iterator.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="line__iterator_8h_source.html">line_iterator.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::LineIterator 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1_line_iterator.png" usemap="#pcl::LineIterator_map" alt=""/>
  <map id="pcl::LineIterator_map" name="pcl::LineIterator_map">
<area href="classpcl_1_1_organized_index_iterator.html" title="base class for iterators on 2-dimensional maps like images/organized clouds etc." alt="pcl::OrganizedIndexIterator" shape="rect" coords="0,0,164,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a5806c77db661ee1ef1b3b3fec8fcdf22"><td class="memItemLeft" align="right" valign="top"><a id="a5806c77db661ee1ef1b3b3fec8fcdf22"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a5806c77db661ee1ef1b3b3fec8fcdf22">Neighborhood</a> { <b>Neighbor4</b> = 4
, <b>Neighbor8</b> = 8
 }</td></tr>
<tr class="memdesc:a5806c77db661ee1ef1b3b3fec8fcdf22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Neighborhood connectivity <br  />
 <br /></td></tr>
<tr class="separator:a5806c77db661ee1ef1b3b3fec8fcdf22"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a48ca3d9e32e2ca89b604b285751ff4f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a48ca3d9e32e2ca89b604b285751ff4f0">LineIterator</a> (unsigned x_start, unsigned y_start, unsigned x_end, unsigned y_end, unsigned width, const <a class="el" href="classpcl_1_1_line_iterator.html#a5806c77db661ee1ef1b3b3fec8fcdf22">Neighborhood</a> &amp;neighborhood=Neighbor8)</td></tr>
<tr class="memdesc:a48ca3d9e32e2ca89b604b285751ff4f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor  <a href="classpcl_1_1_line_iterator.html#a48ca3d9e32e2ca89b604b285751ff4f0">更多...</a><br /></td></tr>
<tr class="separator:a48ca3d9e32e2ca89b604b285751ff4f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa61d29aef4f1619e4e60483a6d2eb3f3"><td class="memItemLeft" align="right" valign="top"><a id="aa61d29aef4f1619e4e60483a6d2eb3f3"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#aa61d29aef4f1619e4e60483a6d2eb3f3">~LineIterator</a> ()</td></tr>
<tr class="memdesc:aa61d29aef4f1619e4e60483a6d2eb3f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor <br /></td></tr>
<tr class="separator:aa61d29aef4f1619e4e60483a6d2eb3f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2c659bad2acfc5f47f31d539b11e9bf"><td class="memItemLeft" align="right" valign="top"><a id="af2c659bad2acfc5f47f31d539b11e9bf"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#af2c659bad2acfc5f47f31d539b11e9bf">operator++</a> ()</td></tr>
<tr class="memdesc:af2c659bad2acfc5f47f31d539b11e9bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">go to next pixel/point in image/cloud <br /></td></tr>
<tr class="separator:af2c659bad2acfc5f47f31d539b11e9bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14cde659682f11e36fbff88c8b0bdd02"><td class="memItemLeft" align="right" valign="top">virtual unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a14cde659682f11e36fbff88c8b0bdd02">getRowIndex</a> () const</td></tr>
<tr class="memdesc:a14cde659682f11e36fbff88c8b0bdd02"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the row index (y-coordinate) of the current pixel/point  <a href="classpcl_1_1_line_iterator.html#a14cde659682f11e36fbff88c8b0bdd02">更多...</a><br /></td></tr>
<tr class="separator:a14cde659682f11e36fbff88c8b0bdd02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5cebbe975962fc2fa40e0751406a975"><td class="memItemLeft" align="right" valign="top">virtual unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#ab5cebbe975962fc2fa40e0751406a975">getColumnIndex</a> () const</td></tr>
<tr class="memdesc:ab5cebbe975962fc2fa40e0751406a975"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the col index (x-coordinate) of the current pixel/point  <a href="classpcl_1_1_line_iterator.html#ab5cebbe975962fc2fa40e0751406a975">更多...</a><br /></td></tr>
<tr class="separator:ab5cebbe975962fc2fa40e0751406a975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9895f623bf5d1f4e4296fd8b3a6a6a8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#ac9895f623bf5d1f4e4296fd8b3a6a6a8">isValid</a> () const</td></tr>
<tr class="memdesc:ac9895f623bf5d1f4e4296fd8b3a6a6a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">return whether the current visited pixel/point is valid or not.  <a href="classpcl_1_1_line_iterator.html#ac9895f623bf5d1f4e4296fd8b3a6a6a8">更多...</a><br /></td></tr>
<tr class="separator:ac9895f623bf5d1f4e4296fd8b3a6a6a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a147e809c82addc78d419a3cfd61d012e"><td class="memItemLeft" align="right" valign="top"><a id="a147e809c82addc78d419a3cfd61d012e"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a147e809c82addc78d419a3cfd61d012e">reset</a> ()</td></tr>
<tr class="memdesc:a147e809c82addc78d419a3cfd61d012e"><td class="mdescLeft">&#160;</td><td class="mdescRight">resets the iterator to the beginning of the line <br /></td></tr>
<tr class="separator:a147e809c82addc78d419a3cfd61d012e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_organized_index_iterator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_organized_index_iterator')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_organized_index_iterator.html">pcl::OrganizedIndexIterator</a></td></tr>
<tr class="memitem:a00a12986af4a5fddef8b88e51a931e22 inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_index_iterator.html#a00a12986af4a5fddef8b88e51a931e22">OrganizedIndexIterator</a> (unsigned width)</td></tr>
<tr class="memdesc:a00a12986af4a5fddef8b88e51a931e22 inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor  <a href="classpcl_1_1_organized_index_iterator.html#a00a12986af4a5fddef8b88e51a931e22">更多...</a><br /></td></tr>
<tr class="separator:a00a12986af4a5fddef8b88e51a931e22 inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d19942435c44453dcef820199ee75f inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memItemLeft" align="right" valign="top"><a id="ad5d19942435c44453dcef820199ee75f"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_index_iterator.html#ad5d19942435c44453dcef820199ee75f">~OrganizedIndexIterator</a> ()</td></tr>
<tr class="memdesc:ad5d19942435c44453dcef820199ee75f inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual destructor <br /></td></tr>
<tr class="separator:ad5d19942435c44453dcef820199ee75f inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7160dcc2b4621ef04885c24016190c10 inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memItemLeft" align="right" valign="top"><a id="a7160dcc2b4621ef04885c24016190c10"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_index_iterator.html#a7160dcc2b4621ef04885c24016190c10">operator++</a> (int)</td></tr>
<tr class="memdesc:a7160dcc2b4621ef04885c24016190c10 inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">go to next pixel/point in image/cloud <br /></td></tr>
<tr class="separator:a7160dcc2b4621ef04885c24016190c10 inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf16fed1c152dfa8b0e99f0fb3a53f4c inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_index_iterator.html#abf16fed1c152dfa8b0e99f0fb3a53f4c">operator*</a> () const</td></tr>
<tr class="memdesc:abf16fed1c152dfa8b0e99f0fb3a53f4c inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the pixel/point index in the linearized memory of the image/cloud  <a href="classpcl_1_1_organized_index_iterator.html#abf16fed1c152dfa8b0e99f0fb3a53f4c">更多...</a><br /></td></tr>
<tr class="separator:abf16fed1c152dfa8b0e99f0fb3a53f4c inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9561b53101cc76455576159b0c56738 inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memItemLeft" align="right" valign="top">virtual unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_index_iterator.html#af9561b53101cc76455576159b0c56738">getIndex</a> () const</td></tr>
<tr class="memdesc:af9561b53101cc76455576159b0c56738 inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the pixel/point index in the linearized memory of the image/cloud  <a href="classpcl_1_1_organized_index_iterator.html#af9561b53101cc76455576159b0c56738">更多...</a><br /></td></tr>
<tr class="separator:af9561b53101cc76455576159b0c56738 inherit pub_methods_classpcl_1_1_organized_index_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:a539182ca573d915b1bdb7b0c67cb56ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a539182ca573d915b1bdb7b0c67cb56ab">init</a> (const <a class="el" href="classpcl_1_1_line_iterator.html#a5806c77db661ee1ef1b3b3fec8fcdf22">Neighborhood</a> &amp;neighborhood)</td></tr>
<tr class="memdesc:a539182ca573d915b1bdb7b0c67cb56ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">initializes the variables for the Bresenham algorithm  <a href="classpcl_1_1_line_iterator.html#a539182ca573d915b1bdb7b0c67cb56ab">更多...</a><br /></td></tr>
<tr class="separator:a539182ca573d915b1bdb7b0c67cb56ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:ab37f3aa2abeda4b2e5fdbb3e25a75485"><td class="memItemLeft" align="right" valign="top"><a id="ab37f3aa2abeda4b2e5fdbb3e25a75485"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#ab37f3aa2abeda4b2e5fdbb3e25a75485">x_</a></td></tr>
<tr class="memdesc:ab37f3aa2abeda4b2e5fdbb3e25a75485"><td class="mdescLeft">&#160;</td><td class="mdescRight">current column index <br /></td></tr>
<tr class="separator:ab37f3aa2abeda4b2e5fdbb3e25a75485"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b2cee34fa71ff94893da75332fb5c81"><td class="memItemLeft" align="right" valign="top"><a id="a2b2cee34fa71ff94893da75332fb5c81"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a2b2cee34fa71ff94893da75332fb5c81">y_</a></td></tr>
<tr class="memdesc:a2b2cee34fa71ff94893da75332fb5c81"><td class="mdescLeft">&#160;</td><td class="mdescRight">current row index <br /></td></tr>
<tr class="separator:a2b2cee34fa71ff94893da75332fb5c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3565d0dce9adef34c2a1e67a7d6daa0"><td class="memItemLeft" align="right" valign="top"><a id="af3565d0dce9adef34c2a1e67a7d6daa0"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#af3565d0dce9adef34c2a1e67a7d6daa0">x_start_</a></td></tr>
<tr class="memdesc:af3565d0dce9adef34c2a1e67a7d6daa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">column index of first pixel/point <br /></td></tr>
<tr class="separator:af3565d0dce9adef34c2a1e67a7d6daa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4cc53ca93b3a45d62a11c161e054b54"><td class="memItemLeft" align="right" valign="top"><a id="ac4cc53ca93b3a45d62a11c161e054b54"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#ac4cc53ca93b3a45d62a11c161e054b54">y_start_</a></td></tr>
<tr class="memdesc:ac4cc53ca93b3a45d62a11c161e054b54"><td class="mdescLeft">&#160;</td><td class="mdescRight">row index of first pixel/point <br /></td></tr>
<tr class="separator:ac4cc53ca93b3a45d62a11c161e054b54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a174734ebedf80e5ad42e4414d4e1ca4b"><td class="memItemLeft" align="right" valign="top"><a id="a174734ebedf80e5ad42e4414d4e1ca4b"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a174734ebedf80e5ad42e4414d4e1ca4b">x_end_</a></td></tr>
<tr class="memdesc:a174734ebedf80e5ad42e4414d4e1ca4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">column index of end pixel/point <br /></td></tr>
<tr class="separator:a174734ebedf80e5ad42e4414d4e1ca4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4715dc8896950d96124547fb8b648e22"><td class="memItemLeft" align="right" valign="top"><a id="a4715dc8896950d96124547fb8b648e22"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a4715dc8896950d96124547fb8b648e22">y_end_</a></td></tr>
<tr class="memdesc:a4715dc8896950d96124547fb8b648e22"><td class="mdescLeft">&#160;</td><td class="mdescRight">row index of end pixel/point <br /></td></tr>
<tr class="separator:a4715dc8896950d96124547fb8b648e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0b4d0c9d0bc85cb0a4d307623a6236d"><td class="memItemLeft" align="right" valign="top"><a id="ae0b4d0c9d0bc85cb0a4d307623a6236d"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#ae0b4d0c9d0bc85cb0a4d307623a6236d">error_</a></td></tr>
<tr class="memdesc:ae0b4d0c9d0bc85cb0a4d307623a6236d"><td class="mdescLeft">&#160;</td><td class="mdescRight">current distance to the line <br /></td></tr>
<tr class="separator:ae0b4d0c9d0bc85cb0a4d307623a6236d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfc1110436519d046126d0fda3711c67"><td class="memItemLeft" align="right" valign="top"><a id="acfc1110436519d046126d0fda3711c67"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#acfc1110436519d046126d0fda3711c67">error_max_</a></td></tr>
<tr class="memdesc:acfc1110436519d046126d0fda3711c67"><td class="mdescLeft">&#160;</td><td class="mdescRight">error threshold <br /></td></tr>
<tr class="separator:acfc1110436519d046126d0fda3711c67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ab7732bb00d7f9c8ff8a72d03164a11"><td class="memItemLeft" align="right" valign="top"><a id="a4ab7732bb00d7f9c8ff8a72d03164a11"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a4ab7732bb00d7f9c8ff8a72d03164a11">error_minus_</a></td></tr>
<tr class="memdesc:a4ab7732bb00d7f9c8ff8a72d03164a11"><td class="mdescLeft">&#160;</td><td class="mdescRight">increment of error (distance) value in case of an y-step (if dx &gt; dy) <br /></td></tr>
<tr class="separator:a4ab7732bb00d7f9c8ff8a72d03164a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b79594dcb36045623a3583173b75028"><td class="memItemLeft" align="right" valign="top"><a id="a4b79594dcb36045623a3583173b75028"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a4b79594dcb36045623a3583173b75028">error_plus_</a></td></tr>
<tr class="memdesc:a4b79594dcb36045623a3583173b75028"><td class="mdescLeft">&#160;</td><td class="mdescRight">increment of error (distance) value in case of just an x-step (if dx &gt; dy) <br /></td></tr>
<tr class="separator:a4b79594dcb36045623a3583173b75028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ff7153a9f0d0e1080b21479277cedd5"><td class="memItemLeft" align="right" valign="top"><a id="a9ff7153a9f0d0e1080b21479277cedd5"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a9ff7153a9f0d0e1080b21479277cedd5">x_plus_</a></td></tr>
<tr class="memdesc:a9ff7153a9f0d0e1080b21479277cedd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">increment of column index in case of just an x-step (if dx &gt; dy) <br /></td></tr>
<tr class="separator:a9ff7153a9f0d0e1080b21479277cedd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f830c4985feaea8ab865f4aafd5389c"><td class="memItemLeft" align="right" valign="top"><a id="a5f830c4985feaea8ab865f4aafd5389c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a5f830c4985feaea8ab865f4aafd5389c">y_plus_</a></td></tr>
<tr class="memdesc:a5f830c4985feaea8ab865f4aafd5389c"><td class="mdescLeft">&#160;</td><td class="mdescRight">increment of row index in case of just an x-step (if dx &gt; dy) <br /></td></tr>
<tr class="separator:a5f830c4985feaea8ab865f4aafd5389c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3262c629423d45171c9850fd0135ca55"><td class="memItemLeft" align="right" valign="top"><a id="a3262c629423d45171c9850fd0135ca55"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a3262c629423d45171c9850fd0135ca55">x_minus_</a></td></tr>
<tr class="memdesc:a3262c629423d45171c9850fd0135ca55"><td class="mdescLeft">&#160;</td><td class="mdescRight">increment of column index in case of just an y-step (if dx &gt; dy) <br /></td></tr>
<tr class="separator:a3262c629423d45171c9850fd0135ca55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1db8459e3838bccacd5dfd3e1c639834"><td class="memItemLeft" align="right" valign="top"><a id="a1db8459e3838bccacd5dfd3e1c639834"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a1db8459e3838bccacd5dfd3e1c639834">y_minus_</a></td></tr>
<tr class="memdesc:a1db8459e3838bccacd5dfd3e1c639834"><td class="mdescLeft">&#160;</td><td class="mdescRight">increment of row index in case of just an y-step (if dx &gt; dy) <br /></td></tr>
<tr class="separator:a1db8459e3838bccacd5dfd3e1c639834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67c216ef803c958f6e8944ba5119bef1"><td class="memItemLeft" align="right" valign="top"><a id="a67c216ef803c958f6e8944ba5119bef1"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a67c216ef803c958f6e8944ba5119bef1">index_plus_</a></td></tr>
<tr class="memdesc:a67c216ef803c958f6e8944ba5119bef1"><td class="mdescLeft">&#160;</td><td class="mdescRight">increment pixel/point index in case of just an x-step (if dx &gt; dy) <br /></td></tr>
<tr class="separator:a67c216ef803c958f6e8944ba5119bef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a8151d251176cce7c61060499fdf233"><td class="memItemLeft" align="right" valign="top"><a id="a2a8151d251176cce7c61060499fdf233"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_line_iterator.html#a2a8151d251176cce7c61060499fdf233">index_minus_</a></td></tr>
<tr class="memdesc:a2a8151d251176cce7c61060499fdf233"><td class="mdescLeft">&#160;</td><td class="mdescRight">increment pixel/point index in case of just an y-step (if dx &gt; dy) <br /></td></tr>
<tr class="separator:a2a8151d251176cce7c61060499fdf233"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_organized_index_iterator"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_organized_index_iterator')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_organized_index_iterator.html">pcl::OrganizedIndexIterator</a></td></tr>
<tr class="memitem:aa3ebc81e8bd1dd52d60b25c10d4b05c9 inherit pro_attribs_classpcl_1_1_organized_index_iterator"><td class="memItemLeft" align="right" valign="top"><a id="aa3ebc81e8bd1dd52d60b25c10d4b05c9"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_index_iterator.html#aa3ebc81e8bd1dd52d60b25c10d4b05c9">width_</a></td></tr>
<tr class="memdesc:aa3ebc81e8bd1dd52d60b25c10d4b05c9 inherit pro_attribs_classpcl_1_1_organized_index_iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">the width of the image/cloud <br /></td></tr>
<tr class="separator:aa3ebc81e8bd1dd52d60b25c10d4b05c9 inherit pro_attribs_classpcl_1_1_organized_index_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdce403c2c2c5bb4a4092740e80d2bbb inherit pro_attribs_classpcl_1_1_organized_index_iterator"><td class="memItemLeft" align="right" valign="top"><a id="acdce403c2c2c5bb4a4092740e80d2bbb"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_index_iterator.html#acdce403c2c2c5bb4a4092740e80d2bbb">index_</a></td></tr>
<tr class="memdesc:acdce403c2c2c5bb4a4092740e80d2bbb inherit pro_attribs_classpcl_1_1_organized_index_iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">the index of the current pixel/point <br /></td></tr>
<tr class="separator:acdce403c2c2c5bb4a4092740e80d2bbb inherit pro_attribs_classpcl_1_1_organized_index_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>Organized Index Iterator for iterating over the "pixels" for a given line using the Bresenham algorithm. Supports 4 and 8 neighborhood connectivity </p>
<dl class="section note"><dt>注解</dt><dd>iterator does not visit the given end-point (on purpose). </dd></dl>
<dl class="section author"><dt>作者</dt><dd>Suat Gedikli <a href="#" onclick="location.href='mai'+'lto:'+'ged'+'ik'+'li@'+'wi'+'llo'+'wg'+'ara'+'ge'+'.co'+'m'; return false;">gedik<span style="display: none;">.nosp@m.</span>li@w<span style="display: none;">.nosp@m.</span>illow<span style="display: none;">.nosp@m.</span>gara<span style="display: none;">.nosp@m.</span>ge.co<span style="display: none;">.nosp@m.</span>m</a> </dd></dl>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="a48ca3d9e32e2ca89b604b285751ff4f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48ca3d9e32e2ca89b604b285751ff4f0">&#9670;&nbsp;</a></span>LineIterator()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">pcl::LineIterator::LineIterator </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>x_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>y_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>x_end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>y_end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_line_iterator.html#a5806c77db661ee1ef1b3b3fec8fcdf22">Neighborhood</a> &amp;&#160;</td>
          <td class="paramname"><em>neighborhood</em> = <code>Neighbor8</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">x_start</td><td>column of the start pixel of the line </td></tr>
    <tr><td class="paramname">y_start</td><td>row of the start pixel of the line </td></tr>
    <tr><td class="paramname">x_end</td><td>column of the end pixel of the line </td></tr>
    <tr><td class="paramname">y_end</td><td>row of the end pixel of the line </td></tr>
    <tr><td class="paramname">width</td><td>width of the organized structure e.g. image/cloud/map etc.. </td></tr>
    <tr><td class="paramname">neighborhood</td><td>connectivity of the neighborhood </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;: <a class="code" href="classpcl_1_1_organized_index_iterator.html#a00a12986af4a5fddef8b88e51a931e22">OrganizedIndexIterator</a> (width)</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;, <a class="code" href="classpcl_1_1_line_iterator.html#af3565d0dce9adef34c2a1e67a7d6daa0">x_start_</a> (x_start)</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;, <a class="code" href="classpcl_1_1_line_iterator.html#ac4cc53ca93b3a45d62a11c161e054b54">y_start_</a> (y_start)</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;, <a class="code" href="classpcl_1_1_line_iterator.html#a174734ebedf80e5ad42e4414d4e1ca4b">x_end_</a> (x_end)</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;, <a class="code" href="classpcl_1_1_line_iterator.html#a4715dc8896950d96124547fb8b648e22">y_end_</a> (y_end)</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;{</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <a class="code" href="classpcl_1_1_line_iterator.html#a539182ca573d915b1bdb7b0c67cb56ab">init</a> (neighborhood);</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a174734ebedf80e5ad42e4414d4e1ca4b"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a174734ebedf80e5ad42e4414d4e1ca4b">pcl::LineIterator::x_end_</a></div><div class="ttdeci">unsigned x_end_</div><div class="ttdoc">column index of end pixel/point</div><div class="ttdef"><b>Definition:</b> line_iterator.h:91</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a4715dc8896950d96124547fb8b648e22"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a4715dc8896950d96124547fb8b648e22">pcl::LineIterator::y_end_</a></div><div class="ttdeci">unsigned y_end_</div><div class="ttdoc">row index of end pixel/point</div><div class="ttdef"><b>Definition:</b> line_iterator.h:94</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a539182ca573d915b1bdb7b0c67cb56ab"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a539182ca573d915b1bdb7b0c67cb56ab">pcl::LineIterator::init</a></div><div class="ttdeci">void init(const Neighborhood &amp;neighborhood)</div><div class="ttdoc">initializes the variables for the Bresenham algorithm</div><div class="ttdef"><b>Definition:</b> line_iterator.h:151</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_ac4cc53ca93b3a45d62a11c161e054b54"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#ac4cc53ca93b3a45d62a11c161e054b54">pcl::LineIterator::y_start_</a></div><div class="ttdeci">unsigned y_start_</div><div class="ttdoc">row index of first pixel/point</div><div class="ttdef"><b>Definition:</b> line_iterator.h:88</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_af3565d0dce9adef34c2a1e67a7d6daa0"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#af3565d0dce9adef34c2a1e67a7d6daa0">pcl::LineIterator::x_start_</a></div><div class="ttdeci">unsigned x_start_</div><div class="ttdoc">column index of first pixel/point</div><div class="ttdef"><b>Definition:</b> line_iterator.h:85</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_index_iterator_html_a00a12986af4a5fddef8b88e51a931e22"><div class="ttname"><a href="classpcl_1_1_organized_index_iterator.html#a00a12986af4a5fddef8b88e51a931e22">pcl::OrganizedIndexIterator::OrganizedIndexIterator</a></div><div class="ttdeci">OrganizedIndexIterator(unsigned width)</div><div class="ttdoc">constructor</div><div class="ttdef"><b>Definition:</b> organized_index_iterator.h:104</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="ab5cebbe975962fc2fa40e0751406a975"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5cebbe975962fc2fa40e0751406a975">&#9670;&nbsp;</a></span>getColumnIndex()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned pcl::LineIterator::getColumnIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns the col index (x-coordinate) of the current pixel/point </p>
<dl class="section return"><dt>返回</dt><dd>the col index (x-coordinate) of the current pixel/point </dd></dl>

<p>重载 <a class="el" href="classpcl_1_1_organized_index_iterator.html#a6edc62e9876fab1a9ace3ec2d5314d9c">pcl::OrganizedIndexIterator</a> .</p>
<div class="fragment"><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;{</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classpcl_1_1_line_iterator.html#ab37f3aa2abeda4b2e5fdbb3e25a75485">x_</a>;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_ab37f3aa2abeda4b2e5fdbb3e25a75485"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#ab37f3aa2abeda4b2e5fdbb3e25a75485">pcl::LineIterator::x_</a></div><div class="ttdeci">unsigned x_</div><div class="ttdoc">current column index</div><div class="ttdef"><b>Definition:</b> line_iterator.h:79</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a14cde659682f11e36fbff88c8b0bdd02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14cde659682f11e36fbff88c8b0bdd02">&#9670;&nbsp;</a></span>getRowIndex()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned pcl::LineIterator::getRowIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns the row index (y-coordinate) of the current pixel/point </p>
<p>default implementation. Should be overloaded</p>
<dl class="section return"><dt>返回</dt><dd>the row index (y-coordinate) of the current pixel/point </dd></dl>

<p>重载 <a class="el" href="classpcl_1_1_organized_index_iterator.html#a8e15dd4231cac39c0a58434745d6a3f5">pcl::OrganizedIndexIterator</a> .</p>
<div class="fragment"><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;{</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classpcl_1_1_line_iterator.html#a2b2cee34fa71ff94893da75332fb5c81">y_</a>;</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a2b2cee34fa71ff94893da75332fb5c81"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a2b2cee34fa71ff94893da75332fb5c81">pcl::LineIterator::y_</a></div><div class="ttdeci">unsigned y_</div><div class="ttdoc">current row index</div><div class="ttdef"><b>Definition:</b> line_iterator.h:82</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a539182ca573d915b1bdb7b0c67cb56ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a539182ca573d915b1bdb7b0c67cb56ab">&#9670;&nbsp;</a></span>init()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::LineIterator::init </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_line_iterator.html#a5806c77db661ee1ef1b3b3fec8fcdf22">Neighborhood</a> &amp;&#160;</td>
          <td class="paramname"><em>neighborhood</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>initializes the variables for the Bresenham algorithm </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">neighborhood</td><td>connectivity to the neighborhood. Either 4 or 8 </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;{</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <a class="code" href="classpcl_1_1_line_iterator.html#ab37f3aa2abeda4b2e5fdbb3e25a75485">x_</a> = <a class="code" href="classpcl_1_1_line_iterator.html#af3565d0dce9adef34c2a1e67a7d6daa0">x_start_</a>;</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <a class="code" href="classpcl_1_1_line_iterator.html#a2b2cee34fa71ff94893da75332fb5c81">y_</a> = <a class="code" href="classpcl_1_1_line_iterator.html#ac4cc53ca93b3a45d62a11c161e054b54">y_start_</a>;</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <a class="code" href="classpcl_1_1_organized_index_iterator.html#acdce403c2c2c5bb4a4092740e80d2bbb">index_</a> = <a class="code" href="classpcl_1_1_line_iterator.html#ab37f3aa2abeda4b2e5fdbb3e25a75485">x_</a> * <a class="code" href="classpcl_1_1_organized_index_iterator.html#aa3ebc81e8bd1dd52d60b25c10d4b05c9">width_</a> + <a class="code" href="classpcl_1_1_line_iterator.html#a2b2cee34fa71ff94893da75332fb5c81">y_</a>;</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <a class="code" href="classpcl_1_1_line_iterator.html#ae0b4d0c9d0bc85cb0a4d307623a6236d">error_</a> = 0;</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keywordtype">int</span> delta_x = <a class="code" href="classpcl_1_1_line_iterator.html#a174734ebedf80e5ad42e4414d4e1ca4b">x_end_</a> - <a class="code" href="classpcl_1_1_line_iterator.html#af3565d0dce9adef34c2a1e67a7d6daa0">x_start_</a>;</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="keywordtype">int</span> delta_y = <a class="code" href="classpcl_1_1_line_iterator.html#a4715dc8896950d96124547fb8b648e22">y_end_</a> - <a class="code" href="classpcl_1_1_line_iterator.html#ac4cc53ca93b3a45d62a11c161e054b54">y_start_</a>;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  </div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <span class="keywordtype">int</span> x_dir = ( (delta_x &gt; 0) ? 1 : -1 ) ;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordtype">int</span> y_dir = ( (delta_y &gt; 0) ? 1 : -1 ) ;</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  delta_x *= x_dir;</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  delta_y *= y_dir;</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  </div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <span class="keywordflow">if</span>(delta_x &gt;= delta_y)</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  {</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordflow">if</span>( neighborhood == Neighbor4 )</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    {</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#acfc1110436519d046126d0fda3711c67">error_max_</a> = delta_x - delta_y;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a3262c629423d45171c9850fd0135ca55">x_minus_</a> = 0;</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a1db8459e3838bccacd5dfd3e1c639834">y_minus_</a> = y_dir;</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a9ff7153a9f0d0e1080b21479277cedd5">x_plus_</a>  = x_dir;</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a5f830c4985feaea8ab865f4aafd5389c">y_plus_</a>  = 0;</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a4ab7732bb00d7f9c8ff8a72d03164a11">error_minus_</a> = -(delta_x * 2);</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a4b79594dcb36045623a3583173b75028">error_plus_</a>  = (delta_y * 2);</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    }</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordflow">else</span></div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    {</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#acfc1110436519d046126d0fda3711c67">error_max_</a> = delta_x - (delta_y * 2);</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a3262c629423d45171c9850fd0135ca55">x_minus_</a> = x_dir;</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a1db8459e3838bccacd5dfd3e1c639834">y_minus_</a> = y_dir;</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a9ff7153a9f0d0e1080b21479277cedd5">x_plus_</a>  = x_dir;</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a5f830c4985feaea8ab865f4aafd5389c">y_plus_</a>  = 0;</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        </div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a4ab7732bb00d7f9c8ff8a72d03164a11">error_minus_</a> = (delta_y - delta_x) * 2;</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a4b79594dcb36045623a3583173b75028">error_plus_</a>  = (delta_y * 2);</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    }</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  }</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="keywordflow">else</span></div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  {</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keywordflow">if</span>( neighborhood == Neighbor4 )</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    {</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#acfc1110436519d046126d0fda3711c67">error_max_</a> = delta_y - delta_x;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a3262c629423d45171c9850fd0135ca55">x_minus_</a> = x_dir;</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a1db8459e3838bccacd5dfd3e1c639834">y_minus_</a> = 0;</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a9ff7153a9f0d0e1080b21479277cedd5">x_plus_</a>  = 0;</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a5f830c4985feaea8ab865f4aafd5389c">y_plus_</a>  = y_dir;</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a4ab7732bb00d7f9c8ff8a72d03164a11">error_minus_</a> = -(delta_y * 2);</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a4b79594dcb36045623a3583173b75028">error_plus_</a>  = (delta_x * 2);</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    }</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keywordflow">else</span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    {</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#acfc1110436519d046126d0fda3711c67">error_max_</a> = delta_y - (delta_x * 2);</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a3262c629423d45171c9850fd0135ca55">x_minus_</a> = x_dir;</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a1db8459e3838bccacd5dfd3e1c639834">y_minus_</a> = y_dir;</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a9ff7153a9f0d0e1080b21479277cedd5">x_plus_</a>  = 0;</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a5f830c4985feaea8ab865f4aafd5389c">y_plus_</a>  = y_dir;</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a4ab7732bb00d7f9c8ff8a72d03164a11">error_minus_</a> = (delta_x - delta_y) * 2;</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;      <a class="code" href="classpcl_1_1_line_iterator.html#a4b79594dcb36045623a3583173b75028">error_plus_</a>  = (delta_x * 2);</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    }</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  }</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  <a class="code" href="classpcl_1_1_line_iterator.html#a2a8151d251176cce7c61060499fdf233">index_minus_</a> = <a class="code" href="classpcl_1_1_line_iterator.html#a3262c629423d45171c9850fd0135ca55">x_minus_</a> + <a class="code" href="classpcl_1_1_line_iterator.html#a1db8459e3838bccacd5dfd3e1c639834">y_minus_</a> * <a class="code" href="classpcl_1_1_organized_index_iterator.html#aa3ebc81e8bd1dd52d60b25c10d4b05c9">width_</a>;</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <a class="code" href="classpcl_1_1_line_iterator.html#a67c216ef803c958f6e8944ba5119bef1">index_plus_</a> = <a class="code" href="classpcl_1_1_line_iterator.html#a9ff7153a9f0d0e1080b21479277cedd5">x_plus_</a> + <a class="code" href="classpcl_1_1_line_iterator.html#a5f830c4985feaea8ab865f4aafd5389c">y_plus_</a> * <a class="code" href="classpcl_1_1_organized_index_iterator.html#aa3ebc81e8bd1dd52d60b25c10d4b05c9">width_</a>;  </div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a1db8459e3838bccacd5dfd3e1c639834"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a1db8459e3838bccacd5dfd3e1c639834">pcl::LineIterator::y_minus_</a></div><div class="ttdeci">int y_minus_</div><div class="ttdoc">increment of row index in case of just an y-step (if dx &gt; dy)</div><div class="ttdef"><b>Definition:</b> line_iterator.h:119</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a2a8151d251176cce7c61060499fdf233"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a2a8151d251176cce7c61060499fdf233">pcl::LineIterator::index_minus_</a></div><div class="ttdeci">int index_minus_</div><div class="ttdoc">increment pixel/point index in case of just an y-step (if dx &gt; dy)</div><div class="ttdef"><b>Definition:</b> line_iterator.h:125</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a3262c629423d45171c9850fd0135ca55"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a3262c629423d45171c9850fd0135ca55">pcl::LineIterator::x_minus_</a></div><div class="ttdeci">int x_minus_</div><div class="ttdoc">increment of column index in case of just an y-step (if dx &gt; dy)</div><div class="ttdef"><b>Definition:</b> line_iterator.h:116</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a4ab7732bb00d7f9c8ff8a72d03164a11"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a4ab7732bb00d7f9c8ff8a72d03164a11">pcl::LineIterator::error_minus_</a></div><div class="ttdeci">int error_minus_</div><div class="ttdoc">increment of error (distance) value in case of an y-step (if dx &gt; dy)</div><div class="ttdef"><b>Definition:</b> line_iterator.h:104</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a4b79594dcb36045623a3583173b75028"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a4b79594dcb36045623a3583173b75028">pcl::LineIterator::error_plus_</a></div><div class="ttdeci">int error_plus_</div><div class="ttdoc">increment of error (distance) value in case of just an x-step (if dx &gt; dy)</div><div class="ttdef"><b>Definition:</b> line_iterator.h:107</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a5f830c4985feaea8ab865f4aafd5389c"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a5f830c4985feaea8ab865f4aafd5389c">pcl::LineIterator::y_plus_</a></div><div class="ttdeci">int y_plus_</div><div class="ttdoc">increment of row index in case of just an x-step (if dx &gt; dy)</div><div class="ttdef"><b>Definition:</b> line_iterator.h:113</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a67c216ef803c958f6e8944ba5119bef1"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a67c216ef803c958f6e8944ba5119bef1">pcl::LineIterator::index_plus_</a></div><div class="ttdeci">int index_plus_</div><div class="ttdoc">increment pixel/point index in case of just an x-step (if dx &gt; dy)</div><div class="ttdef"><b>Definition:</b> line_iterator.h:122</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_a9ff7153a9f0d0e1080b21479277cedd5"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#a9ff7153a9f0d0e1080b21479277cedd5">pcl::LineIterator::x_plus_</a></div><div class="ttdeci">int x_plus_</div><div class="ttdoc">increment of column index in case of just an x-step (if dx &gt; dy)</div><div class="ttdef"><b>Definition:</b> line_iterator.h:110</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_acfc1110436519d046126d0fda3711c67"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#acfc1110436519d046126d0fda3711c67">pcl::LineIterator::error_max_</a></div><div class="ttdeci">int error_max_</div><div class="ttdoc">error threshold</div><div class="ttdef"><b>Definition:</b> line_iterator.h:101</div></div>
<div class="ttc" id="aclasspcl_1_1_line_iterator_html_ae0b4d0c9d0bc85cb0a4d307623a6236d"><div class="ttname"><a href="classpcl_1_1_line_iterator.html#ae0b4d0c9d0bc85cb0a4d307623a6236d">pcl::LineIterator::error_</a></div><div class="ttdeci">int error_</div><div class="ttdoc">current distance to the line</div><div class="ttdef"><b>Definition:</b> line_iterator.h:98</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_index_iterator_html_aa3ebc81e8bd1dd52d60b25c10d4b05c9"><div class="ttname"><a href="classpcl_1_1_organized_index_iterator.html#aa3ebc81e8bd1dd52d60b25c10d4b05c9">pcl::OrganizedIndexIterator::width_</a></div><div class="ttdeci">unsigned width_</div><div class="ttdoc">the width of the image/cloud</div><div class="ttdef"><b>Definition:</b> organized_index_iterator.h:93</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_index_iterator_html_acdce403c2c2c5bb4a4092740e80d2bbb"><div class="ttname"><a href="classpcl_1_1_organized_index_iterator.html#acdce403c2c2c5bb4a4092740e80d2bbb">pcl::OrganizedIndexIterator::index_</a></div><div class="ttdeci">unsigned index_</div><div class="ttdoc">the index of the current pixel/point</div><div class="ttdef"><b>Definition:</b> organized_index_iterator.h:96</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac9895f623bf5d1f4e4296fd8b3a6a6a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9895f623bf5d1f4e4296fd8b3a6a6a8">&#9670;&nbsp;</a></span>isValid()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::LineIterator::isValid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>return whether the current visited pixel/point is valid or not. </p>
<dl class="section return"><dt>返回</dt><dd>true if the current pixel/point is within the points to be iterated over, false otherwise </dd></dl>

<p>实现了 <a class="el" href="classpcl_1_1_organized_index_iterator.html#a69c605f80da0be4fea056b843450e8ae">pcl::OrganizedIndexIterator</a>.</p>
<div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;{</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1_line_iterator.html#ab37f3aa2abeda4b2e5fdbb3e25a75485">x_</a> != <a class="code" href="classpcl_1_1_line_iterator.html#a174734ebedf80e5ad42e4414d4e1ca4b">x_end_</a> || <a class="code" href="classpcl_1_1_line_iterator.html#a2b2cee34fa71ff94893da75332fb5c81">y_</a> != <a class="code" href="classpcl_1_1_line_iterator.html#a4715dc8896950d96124547fb8b648e22">y_end_</a>);</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>geometry/include/pcl/geometry/<a class="el" href="line__iterator_8h_source.html">line_iterator.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_line_iterator.html">LineIterator</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
